module chatCorba { module messageChat { valuetype ChatMessage { private string sender; private wstring message;
string getSender(); string getMessage(); void putSender( in string emissor ); void putMessage( in wstring missage ); factory create( in string sender, in wstring message );
};
};
module clientChat { interface ChatClient { string getNickName(); void entraUsuari( in string nickName ); void marxaUsuari( in string nickName ); void deliverMessage( in messageChat::ChatMessage message ); void serverStopping();
};
}; module serverChat { interface StoppableChatServer { oneway void stopServer();
};
interface ChatServer { exception NickNameExists { string why; };
short opExcepNickExists() raises( NickNameExists );
exception UnknownName { string why; }; short opExcepUnknownName() raises( UnknownName );
void registerClient( in clientChat::ChatClient client ); void unRegisterClient( in clientChat::ChatClient client ); void postMessage( in messageChat::ChatMessage message ); };
interface ChatService : ChatServer, StoppableChatServer{}; };
}; |